/**
 * 系统相关类型定义
 */

/**
 * 部门树节点
 */
export interface DepartTreeNode {
  /**
   * 部门ID
   */
  id?: string
  /**
   * 部门名称
   */
  name?: string
  /**
   * 父部门ID
   */
  parentId?: string
  /**
   * 子部门列表
   */
  children?: DepartTreeNode[]
  /**
   * 租户ID
   */
  tenantId?: string
  /**
   * 是否选中
   */
  selected?: boolean
}

/**
 * 字典项
 */
export interface DictItem {
  /**
   * 字典值
   */
  value?: string
  /**
   * 字典标签
   */
  label?: string
  /**
   * 排序
   */
  sort?: number
  /**
   * 是否启用
   */
  enabled?: boolean

  description?: string

  dictCode?: string

  text?: string

  title?: string

}

/**
 * 结算信息接口
 * 包含结算渠道、机构信息、创建信息等数据
 */
export interface PaymentTypeDict {
  /** ID标识 */
  id: string
  /** 创建时间 */
  createTime: string
  /** 更新人ID，可为空 */
  updateBy: string | null
  /** 更新时间，可为空 */
  updateTime: string | null
  /** 业务机构名称，可为空 */
  businessInstitutionName: string | null
  /** 业务部门名称，可为空 */
  businessDepartmentName: string | null
  /** 业务员ID，可为空 */
  salesmanId: string | null
  /** 业务员名称，可为空 */
  salesmanName: string | null
  /** 创建人名称 */
  createName: string
  /** 业务机构ID，可为空 */
  businessInstitutionId: string | null
  /** 业务部门ID，可为空 */
  businessDepartmentId: string | null
  /** 更新人名称，可为空 */
  updateName: string | null
  /** 结算渠道 */
  settlementChannel: string
  /** 结算渠道编码 */
  settlementChannelCode: string
  /** 是否需要收据，1表示需要，0表示不需要 */
  isReceipt: string
  /** 序号 */
  seq: number
  /** 备注信息 */
  remark: string
}

/**
 * 员工信息
 */
export interface EmployeeInfo {
  /**
   * 员工ID
   */
  id?: string
  /**
   * 员工姓名
   */
  name?: string
  /**
   * 员工工号
   */
  employeeCode?: string
  /**
   * 所属部门
   */
  departmentName?: string
  /**
   * 职位
   */
  positionName?: string
  /**
   * 手机号
   */
  mobile?: string
  /**
   * 邮箱
   */
  email?: string
}

/**
 * 公司信息
 */
export interface CompanyInfo {
  /**
   * 公司ID
   */
  id?: string
  /**
   * 公司名称
   */
  companyName?: string
  /**
   * 统一社会信用代码
   */
  creditCode?: string
  /**
   * 公司地址
   */
  address?: string
  /**
   * 联系人
   */
  contactPerson?: string
  /**
   * 联系电话
   */
  contactPhone?: string
}

/**
 * 运输方式分页请求
 */
export interface OwnerFreightPageRequest {
  /** 当前页码 */
  current?: number
  /** 每页大小 */
  size?: number
  /** 运输方式名称 */
  freightName?: string
  /** 状态 */
  status?: string
}

/**
 * 运输方式分页响应
 */
export interface OwnerFreightPageResponse {
  /** 总记录数 */
  total?: number
  /** 当前页码 */
  current?: number
  /** 每页大小 */
  size?: number
  /** 运输方式列表 */
  records?: OwnerFreightType[]
}

/**
 * 运输方式类型
 */
export interface OwnerFreightType {
  /** 运输方式ID */
  id?: string
  /** 运输方式名称 */
  freightName?: string
  /** 备注 */
  remark?: string
  /** 状态 */
  status?: string
  /** 创建时间 */
  createTime?: string
  /** 创建人 */
  createBy?: string
}

/**
 * 机构部门树节点
 */
export interface TenantDepartTree {
  /** 部门ID */
  id?: string
  /** 部门名称 */
  name?: string
  /** 部门编码 */
  code?: string
  /** 父部门ID */
  parentId?: string
  /** 排序 */
  sort?: number
  /** 租户ID */
  tenantId?: string
  /** 子部门列表 */
  children?: TenantDepartTree[]
  /** 是否选中 */
  selected?: boolean
  /** 是否展开 */
  expanded?: boolean
}

/**
 * 字典项
 */
export interface DictItem {
  /** 字典值 */
  value?: string
  /** 字典标签 */
  label?: string
  /** 排序 */
  sort?: number
  /** 状态 */
  status?: string
  /** 颜色 */
  color?: string
  /** 图标 */
  icon?: string
  /** 扩展字段 */
  [key: string]: any
}

/**
 * 用户列表响应
 */
export interface UserListResponse {
  /** 创建人 */
  createBy?: string
  /** 创建人姓名 */
  createName?: string
  /** 创建时间 */
  createTime?: string
  /** 更新人 */
  updateBy?: string
  /** 更新人姓名 */
  updateName?: string
  /** 更新时间 */
  updateTime?: string
  /** 系统公司编码 */
  sysCompanyCode?: string
  /** 系统组织编码 */
  sysOrgCode?: string
  /** 删除标志 */
  delFlag?: number
  /** 用户ID */
  id?: string
  /** 用户名 */
  username?: string
  /** 真实姓名 */
  realname?: string
  /** 密码 */
  password?: string
  /** 盐值 */
  salt?: string
  /** 头像 */
  avatar?: string
  /** 手机号 */
  phone?: string
  /** 登录失败次数 */
  missLoginCount?: number
  /** 状态 */
  status?: number
  /** 状态描述 */
  statusDesc?: string
  /** 登录失败时间 */
  missLoginTime?: string
  /** 确认密码 */
  confirmpassword?: string
  /** 旧密码 */
  oldpassword?: string
  /** 用户类型 */
  userType?: string
  /** 关联租户ID列表 */
  relTenantIds?: string
  /** 部门列表 */
  departList?: DepartInfo[]
  /** 部门ID列表 */
  departIds?: string
  /** 角色列表 */
  roleList?: RoleInfo[]
  /** 角色ID列表 */
  roleIds?: string
  /** 登录租户ID */
  loginTenantId?: string
  /** 登录部门ID */
  loginDepartId?: string
  /** 目标租户ID */
  targetTenantId?: string
  /** 简称 */
  abbreviation?: string
  /** 租户名称 */
  tenantName?: string
  /** 部门名称 */
  departNames?: string
  /** 是否管理员用户 */
  managerUser?: boolean
}

/**
 * 部门信息
 */
export interface DepartInfo {
  /** 部门ID */
  id?: string
  /** 父部门ID */
  parentId?: string
  /** 部门名称 */
  departName?: string
  /** 英文名称 */
  departNameEn?: string
  /** 简称 */
  departNameAbbr?: string
  /** 排序 */
  departOrder?: number
  /** 描述 */
  description?: string
  /** 组织类别 */
  orgCategory?: string
  /** 组织类型 */
  orgType?: string
  /** 组织编码 */
  orgCode?: string
  /** 手机号 */
  mobile?: string
  /** 传真 */
  fax?: string
  /** 法人 */
  legalPerson?: string
  /** 税号 */
  taxId?: string
  /** 账号 */
  accountNum?: string
  /** 开户行 */
  depositBank?: string
  /** 负责人用户ID列表 */
  directorUserIds?: string
  /** 负责人用户名列表 */
  directorUserRealnames?: string
  /** 地址 */
  address?: string
  /** 备注 */
  memo?: string
  /** 状态 */
  status?: string
  /** 企业微信标识 */
  qywxIdentifier?: string
  /** 租户ID */
  tenantId?: string
  /** 树路径 */
  treePath?: string
  /** 原负责人用户ID列表 */
  oldDirectorUserIds?: string
  /** 创建人 */
  createBy?: string
  /** 创建时间 */
  createTime?: string
  /** 更新人 */
  updateBy?: string
  /** 更新时间 */
  updateTime?: string
  /** 系统组织编码 */
  sysOrgCode?: string
  /** 删除标志 */
  delFlag?: number
  /** 子部门列表 */
  children?: DepartInfo[]
  /** 树节点键 */
  key?: string
  /** 树节点值 */
  value?: string
}

/**
 * 角色信息
 */
export interface RoleInfo {
  /** 创建人 */
  createBy?: string
  /** 创建人姓名 */
  createName?: string
  /** 创建时间 */
  createTime?: string
  /** 更新人 */
  updateBy?: string
  /** 更新人姓名 */
  updateName?: string
  /** 更新时间 */
  updateTime?: string
  /** 系统公司编码 */
  sysCompanyCode?: string
  /** 系统组织编码 */
  sysOrgCode?: string
  /** 删除标志 */
  delFlag?: number
  /** 角色ID */
  id?: string
  /** 角色名称 */
  roleName?: string
  /** 角色编码 */
  roleCode?: string
  /** 角色描述 */
  description?: string
  /** 租户ID */
  tenantId?: string
}

/**
 * 资金认领记录详情
 */
export interface ReceiptClaimRecordDetails {
  /** ID */
  id: string
  /** 创建时间 */
  createTime: string
  /** 更新人 */
  updateBy: string | null
  /** 更新时间 */
  updateTime: string | null
  /** 业务机构名称 */
  businessInstitutionName: string | null
  /** 业务部门名称 */
  businessDepartmentName: string | null
  /** 业务员ID */
  salesmanId: string | null
  /** 业务员名称 */
  salesmanName: string | null
  /** 创建人名称 */
  createName: string
  /** 业务机构ID */
  businessInstitutionId: string | null
  /** 业务部门ID */
  businessDepartmentId: string | null
  /** 更新人名称 */
  updateName: string | null
  /** 资金类型 */
  fundsType: number
  /** 结算类型 */
  settlementType: number
  /** 收款记录ID */
  receiptId: string
  /** 结算ID */
  settlementId: string
  /** 项目ID */
  projectId: string | null
  /** 合同ID */
  contractId: string | null
  /** 认领金额 */
  claimAmount: number
  /** 渠道类型 */
  channelType: string | null
  /** 审批状态 */
  approvalStatus: number
  /** 支付时间 */
  payTime: string | null
  /** 占用天数 */
  occupiedDays: number
  /** 利率 */
  interestRate: number
  /** 利息 */
  interest: number | null
  /** 结算单号 */
  settlementNo: string
  /** 资金认领业务单号 */
  receiptClaimBusinessNo: string
  /** 是否释放 */
  isRelease: number
  /** 收款记录 */
  receiptRecord: ReceiptRecord
  /** 费用名称 */
  costName: string
  /** 费用名称ID */
  costNameId: string | null
  /** 结算信息 */
  settlementInfo: SettlementInfo
  /** 运单信息 */
  waybillInfo: WaybillInfo
  /** 合同编号 */
  contractNo: string | null
  /** 项目编号 */
  projectNo: string | null
  /** 金额 */
  amount: number | null
  /** 收款事项 */
  receiptEvent: string | null
  /** 收款主体 */
  receivingEntity: string | null
  /** 付款主体 */
  payerEntity: string | null
  /** 付款银行 */
  payerBank: string | null
  /** 付款电话 */
  payerPhone: string | null
  /** 备注 */
  remark: string | null
  /** 销售员 */
  salesperson: string | null
  /** 制单人 */
  preparer: string | null
}

/**
 * 收款记录
 */
export interface ReceiptRecord {
  /** 创建人 */
  createBy: string
  /** 创建人姓名 */
  createName: string
  /** 创建时间 */
  createTime: string
  /** 更新人 */
  updateBy: string
  /** 更新人姓名 */
  updateName: string
  /** 更新时间 */
  updateTime: string
  /** 系统公司编码 */
  sysCompanyCode: string
  /** 系统组织编码 */
  sysOrgCode: string
  /** 删除标志 */
  delFlag: number
  /** ID */
  id: string
  /** 租户ID */
  tenantId: string | null
  /** 版本号 */
  version: number
  /** 最后访问时间 */
  lastAccess: number
  /** 渠道类型 */
  channelType: string
  /** 金额 */
  amount: number
  /** 票据类型 */
  billType: number
  /** 归属ID */
  ownerId: string
  /** 是否已认领 */
  isClaim: number
  /** 业务单号 */
  businessNo: string
  /** 状态 */
  status: number
  /** 是否退款 */
  isRefund: number
  /** 退款金额 */
  refundAmount: number
  /** 剩余金额 */
  remainingAmount: number
  /** 认领金额 */
  claimAmount: number
  /** 收款事项 */
  receiptEvent: string
  /** 收款电话 */
  receivingPhone: string
  /** 备注 */
  remark: string
  /** 收款账户 */
  receivingAccount: string
  /** 收款银行 */
  receivingBank: string
  /** 收款账户ID */
  receivingAccountId: string
  /** 收款账户类型 */
  receivingAccountType: string
  /** 收款主体 */
  receivingEntity: string
  /** 收款主体ID */
  receivingEntityId: string
  /** 付款主体ID */
  payerEntityId: string
  /** 付款方是否记录 */
  payerIsRecord: number
  /** 付款账户ID */
  payerAccountId: string
  /** 付款账户类型 */
  payerAccountType: string
  /** 付款主体 */
  payerEntity: string
  /** 付款账户 */
  payerAccount: string
  /** 付款银行 */
  payerBank: string
  /** 付款电话 */
  payerPhone: string
  /** 销售员 */
  salesperson: string
  /** 制单人 */
  preparer: string
  /** 支付时间 */
  payTime: string
  /** 收款方是否记录 */
  receivingIsRecord: number
  /** 审批状态 */
  approvalStatus: number
  /** 业务机构名称 */
  businessInstitutionName: string
  /** 业务部门名称 */
  businessDepartmentName: string
  /** 业务员ID */
  salesmanId: string
  /** 业务员名称 */
  salesmanName: string
  /** 业务机构ID */
  businessInstitutionId: string
  /** 业务部门ID */
  businessDepartmentId: string
  /** 业务类型 */
  businessType: number
  /** 票据编号 */
  billNumber: string | null
  /** 票据ID */
  billId: string | null
}

/**
 * 结算信息
 */
export interface SettlementInfo {
  /** 创建人 */
  createBy: string
  /** 创建人姓名 */
  createName: string
  /** 创建时间 */
  createTime: string
  /** 更新人 */
  updateBy: string
  /** 更新人姓名 */
  updateName: string
  /** 更新时间 */
  updateTime: string
  /** 系统公司编码 */
  sysCompanyCode: string
  /** 系统组织编码 */
  sysOrgCode: string
  /** 删除标志 */
  delFlag: number
  /** ID */
  id: string
  /** 租户ID */
  tenantId: string | null
  /** 版本号 */
  version: number
  /** 最后访问时间 */
  lastAccess: number
  /** 结算单号 */
  settlementNo: string
  /** 资金类型 */
  fundsType: number
  /** 结算类型 */
  settlementType: number
  /** 实际支付金额 */
  actualPayment: number
  /** 支付金额 */
  payment: number
  /** 业务ID */
  businessId: string
  /** 票据类型 */
  billType: number
  /** 是否已支付 */
  isPay: number
  /** 费用名称 */
  costName: string
  /** 费用名称ID */
  costNameId: string | null
  /** 父结算ID */
  parentSettlementId: string | null
  /** 是否退款 */
  isRefund: number
  /** 付款方类型 */
  payerType: string | null
  /** 付款方ID */
  payerId: string
  /** 支付类型 */
  payType: string | null
  /** 项目ID */
  projectId: string | null
  /** 合同ID */
  contractId: string | null
  /** 是否开票 */
  isInvoice: number
  /** 开票金额 */
  invoiceAmount: number
  /** 冻结状态 */
  freezeStatus: number
  /** 冻结时间 */
  freezeTime: string | null
  /** 解冻时间 */
  unfreezeTime: string | null
  /** 审批状态 */
  approvalStatus: number
  /** 发票创建承运商ID */
  invoiceCreateCarrierId: string | null
  /** 运单号 */
  waybillNo: string
  /** 应收日期 */
  receivableDate: string
  /** 业务机构名称 */
  businessInstitutionName: string | null
  /** 业务部门名称 */
  businessDepartmentName: string | null
  /** 业务员ID */
  salesmanId: string | null
  /** 业务员名称 */
  salesmanName: string | null
  /** 业务机构ID */
  businessInstitutionId: string | null
  /** 业务部门ID */
  businessDepartmentId: string | null
  /** 财务支付记录ID */
  financePaymentRecordId: string | null
  /** 收款认领记录ID */
  receiptClaimRecordId: string | null
  /** 承运商结算主体 */
  carrierSettlementEntity: string | null
  /** 系统结算主体 */
  systemSettlementEntity: string
  /** 货主结算主体 */
  ownerSettlementEntity: string
  /** 货主结算主体类型 */
  ownerSettlementEntityType: number
  /** 承运商结算主体类型 */
  carrierSettlementEntityType: number
  /** 运单承运商货主账单号 */
  waybillCarrierOwnerBillNo: string | null
  /** 账单状态 */
  billStatus: number
  /** 账单来源ID */
  billSourceId: string
  /** 开票日期 */
  invoiceDate: string | null
  /** 运费类型 */
  freightType: string
  /** 结算业务类型 */
  settlementBusinessType: number
  /** 调整来源单号 */
  adjustmentSourceNo: string | null
  /** 调整来源ID */
  adjustmentSourceId: string | null
  /** 调整目标单号 */
  adjustmentTargetNo: string | null
  /** 调整目标ID */
  adjustmentTargetId: string | null
  /** 调整状态 */
  adjustmentStatus: number
  /** 逾期天数 */
  overdueDays: number
  /** 是否已登记 */
  isRegistered: number
  /** 业务时间 */
  businessTime: string | null
  /** 退款金额 */
  refundAmount: number
  /** 支付方式 */
  paymentMethod: string | null
  /** 备注 */
  remark: string | null
}

/**
 * 运单信息
 */
export interface WaybillInfo {
  /** 创建人 */
  createBy: string
  /** 创建人姓名 */
  createName: string
  /** 创建时间 */
  createTime: string
  /** 更新人 */
  updateBy: string
  /** 更新人姓名 */
  updateName: string
  /** 更新时间 */
  updateTime: string
  /** 系统公司编码 */
  sysCompanyCode: string
  /** 系统组织编码 */
  sysOrgCode: string
  /** 删除标志 */
  delFlag: number
  /** ID */
  id: string
  /** 租户ID */
  tenantId: string | null
  /** 版本号 */
  version: number
  /** 最后访问时间 */
  lastAccess: number
  /** 状态 */
  status: number
  /** 开始时间 */
  startTime: string | null
  /** 结束时间 */
  endTime: string | null
  /** 线路名称 */
  lineName: string | null
  /** 出发省份ID */
  startProvinceId: string
  /** 出发省份 */
  startProvince: string
  /** 出发城市 */
  startCity: string
  /** 出发城市ID */
  startCityId: string
  /** 出发区县 */
  startArea: string
  /** 出发区县ID */
  startAreaId: number
  /** 出发邮编 */
  startPostCode: string | null
  /** 出发地址 */
  startAddr: string
  /** 到达省份ID */
  endProvinceId: string
  /** 到达省份 */
  endProvince: string
  /** 到达城市 */
  endCity: string
  /** 到达城市ID */
  endCityId: string
  /** 到达区县 */
  endArea: string
  /** 到达区县ID */
  endAreaId: string
  /** 到达邮编 */
  endPostCode: string | null
  /** 到达地址 */
  endAddr: string
  /** 司机ID */
  driverId: string
  /** 承运商信息ID */
  carrierInfoId: string
  /** 计价方式 */
  pricingMethod: string | null
  /** 备注 */
  remarks: string | null
  /** 货主价格 */
  ownerPrice: number
  /** 承运商单价 */
  carrierUnitPrice: number
  /** 承运商总价 */
  carrierTotalPrice: number
  /** 装货地点数量 */
  loadingLocationsNumber: number
  /** 卸货地点数量 */
  unloadingLocationsNumber: number
  /** 单位类型 */
  unitType: number
  /** 价格 */
  price: number
  /** 价格类型 */
  priceType: number
  /** 车辆ID */
  carId: string
  /** 是否回单 */
  isReturnVoucher: number
  /** 项目ID */
  projectId: string | null
  /** 合同ID */
  contractId: string | null
  /** 回单收回状态 */
  receiptTakeBackStatus: number
  /** 回单收回时间 */
  receiptTakeBackTime: string | null
  /** 回单收回操作人 */
  receiptTakeBackOperator: string | null
  /** 回单收回文件 */
  receiptTakeBackFile: string | null
  /** 回单归还状态 */
  receiptReturnStatus: number
  /** 回单归还时间 */
  receiptReturnTime: string | null
  /** 回单归还操作人 */
  receiptReturnOperator: string | null
  /** 回单归还文件 */
  receiptReturnFile: string | null
  /** 回单时间 */
  returnVoucherTime: string
  /** 回单操作人 */
  returnVoucherOperator: string | null
  /** 回单状态 */
  returnVoucherStatus: number
  /** 应收日期 */
  receivableDate: string
  /** 结算主体 */
  settlementEntity: string
  /** 投标数量 */
  biddingNum: number
  /** 取消时间 */
  cancelTime: string | null
  /** 关闭类型 */
  closeType: string | null
  /** 总重量最小值 */
  allWeightMin: number | null
  /** 总重量最大值 */
  allWeightMax: number
  /** 总体积最小值 */
  allVolumeMin: number | null
  /** 总体积最大值 */
  allVolumeMax: number
  /** 总规格长度 */
  allSpecsLong: number
  /** 总规格高度 */
  allSpecsHeight: number
  /** 总规格宽度 */
  allSpecsWidth: number
  /** 车辆类型 */
  carType: string
  /** 车辆长度 */
  carLength: number
  /** 议价电话 */
  pricePhone: string | null
  /** 过期时间 */
  expireTime: string
  /** 发布时间 */
  releaseTime: string
  /** 审批状态 */
  approvalStatus: number
  /** 货主评价 */
  ownerEvaluation: number
  /** 承运商评价 */
  carrierEvaluation: number
  /** 运输类型 */
  transportationType: string
  /** 打卡状态 */
  clockStatus: number
  /** 运费类型 */
  freightType: string
  /** 业务机构名称 */
  businessInstitutionName: string
  /** 业务部门名称 */
  businessDepartmentName: string
  /** 业务员ID */
  salesmanId: string
  /** 业务员名称 */
  salesmanName: string
  /** 业务机构ID */
  businessInstitutionId: string
  /** 业务部门ID */
  businessDepartmentId: string
  /** 承运商结算主体 */
  carrierSettlementEntity: string
  /** 承运商结算主体类型 */
  carrierSettlementEntityType: number
  /** 制单人 */
  maker: string
  /** 制单人ID */
  makerId: string
  /** 支付方式 */
  paymentMethod: string
  /** 税率 */
  taxRate: string
  /** 是否需要发票 */
  needInvoice: number
  /** 趟数 */
  tripCount: number
  /** 回单确认状态 */
  returnVoucherConfirmStatus: number
  /** 车辆类型-车辆品种 */
  carTypeCarVariety: string
  /** 到达时间 */
  arriveTime: string
  /** 业务时间 */
  businessTime: string | null
  /** 运单订单号 */
  wayBillOrderNumber: string
}
